package ts.test.test;

import java.lang.reflect.Field;

public class ShiZhan2 {
    public static void main(String[] args) {
        try {
            // 1. 通过类的全限定名"test.Parson"加载类对象
            Class clazz = Class.forName("ts.test.test.Parson");

            // 2. 创建该类的一个新实例
            Object person = clazz.newInstance();

            // 3. 获取该类的"name"字段（属性）
            Field name = clazz.getDeclaredField("name");

            // 4. 设置该字段可访问（即使它是private的）
            name.setAccessible(true);

            // 5. 获取并打印该字段的初始值
            System.out.println("取值：" + name.get(person));

            // 6. 给该字段设置新值
            name.set(person, "赋值了");

            // 7. 再次获取并打印该字段的值，验证赋值是否成功
            System.out.println("赋值：" + name.get(person));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
